分析影像的卷積層、DAY12的激活函數層和DAY14的池化層,這些之外我們還會有丟棄層(dropout layer)扁平層(flatten layer)以及全連接層(dense、fully connected layer)
丟棄層:為了避免過度訓練,讓神經網路不仰賴某種特徵。
扁平層:讓多維輸入經過扁平讓輸出為一維,通常使用時間是在卷積層連接全連接層之間,扁平不會影響批次大小
photo = torch.rand(1, 3, 128, 128)
photo.size()
photo_flatten = photo.flatten()
photo_flatten.size()
全連接層:分析圖像,特點是輸入要是一維也就正因為這樣所以需要扁平層
建立神經網路
model = nn.Sequential(
nn.Conv2d(3, 16, kernel_size=3, padding=1), #第一層卷積層
包含RGB三個通到轉成16個,意思就是產生16個特徵值
nn.Tanh(),
tanh激活函數處理出現的特徵
nn.MaxPool2d(2), #第一層最大池化層
池化將圖片縮小
nn.Conv2d(16, 8, kernel_size=3, padding=1),
nn.Tanh(),
nn.MaxPool2d(2),
...
)